#ifndef TWOWHEELS_H
#define TWOWHEELS_H


class TwoWheels;

#include "abstractsystem.h"
#include "../Motors/continuousmotor.h"
#include "../Sensors/motorstatesensor.h"
#include "../Sensors/positionsensor.h"
#include <QList>
#include <QPointF>

class TwoWheels : public AbstractSystem
{
public:
    TwoWheels();
    void checkValue(int id);
    void setParameters(QList<double> params);
    void addMotor(int freq, double delay, double tau, double imprecision);
    void addSensor(int freq, double delay, double imprecision);
    void addPositionSensor(int freq, double delay, double imprecision);
    void setPosition(double a_x, double a_y, double a_theta);
    QList<double> getPosition();
    QList<double> getPositionNormee();
    double getMotorStateNormee(int id);
    virtual void setInState(QList<double> state){ (void) state;}

private:
    double xMax, yMax, diameter1, diameter2, spacing;
    double x,y,theta;
    double prev1, prev2;
};

#endif // TWOWHEELS_H
